Preventing illicit communications

ABSTRACT

The present invention inspects packets to identify session initiation messages associated with select applications. A session initiation message may be any message used to initiate a communication session with another communication client. Once a session initiation message from a select application is identified, the intended communication session may be identified, monitored, prevented, or otherwise processed in a predefined manner. These select applications may be illicit applications from which communication sessions are actually or potentially unlawful or otherwise improper. The illicit communication sessions that the present invention seeks to control may be used for voice communications as well as for transferring data and facilitating application collaboration, such as is used in video conferencing or file sharing. The session initiation messages need not be received directly from the originating communication client for inspection. Packet inspections may take place at any location, such as aggregation points throughout the packet networks.

This application is a Continuation of U.S. patent application Ser. No. 10/954,049, entitled PREVENTING ILLICIT COMMUNICATIONS, filed Sep. 29, 2004, currently pending, the disclosure of which is hereby incorporated by reference in its entirety.

FIELD OF THE INVENTION

The present invention relates to communications, and in particular to preventing illicit communications.

BACKGROUND OF THE INVENTION

Traditionally, circuit-switched networks, such as the Public Switched Telephone Network (PSTN), support a vast majority of communications that are predominantly voice based. For security reasons, telephone calls over circuit-switched networks could be readily monitored using various wiretapping or monitoring technologies by law enforcement agencies when illicit communications were suspected.

As packet networks, such as the Internet, evolve, the amount of voice-over-packet (VoP) communications has exponentially increased. As VoP communications increase, the need for a way to monitor these communication sessions increases. Unfortunately, the ability to encrypt these communication sessions often renders techniques to monitor the communication sessions obsolete, especially given the increasing sophistication of encryption techniques. As such, criminals and terrorists are finding the Internet to be a safe harbor for interstate, national, and international communications, which include data transfers, file sharing, and application collaboration, in addition to voice communications. Once a communication is established through the packet networks and any available firewalls or other monitoring entities, encrypted communications containing illicit content will often go undetected. Many of the encryption techniques are virtually unbreakable, and the resources necessary to decrypt, monitor, and detect illicit communications are often impractical or unavailable. These security threats pose risks to individuals and enterprises, as well as states and nations. Accordingly, there is a need for a technique to prevent establishment of sessions that may be used for illicit communications, prior to the communication sessions being established.

SUMMARY OF THE INVENTION

The present invention inspects packets to identify session initiation messages associated with select applications. A session initiation message may be any message used to initiate a communication session with another communication client. Once a session initiation message from a select application is identified, the intended communication session may be identified, monitored, prevented, or otherwise processed in a predefined manner. These select applications may be illicit applications from which communication sessions are actually or potentially unlawful or otherwise improper. The illicit communication sessions that the present invention seeks to control may be used for voice communications as well as for transferring data and facilitating application collaboration, such as is used in video conferencing or file sharing. The session initiation messages need not be received directly from the originating communication client for inspection. Packet inspections may take place at any location, such as aggregation points throughout the packet networks. The aggregation points are those at which most, if not all, traffic is routed when being transferred from one packet network or location to another. The aggregation points may include various types of routers, which act as gateways between local or regional packet networks, as well as those providing digital subscriber line, cable, and enterprise connectivity. The inspection system is applicable to pure packet, wireless, wireline, and enterprise networks.

Those skilled in the art will appreciate the scope of the present invention and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the invention, and together with the description serve to explain the principles of the invention.

FIG. 1 is a block representation of a communication environment according to one embodiment of the present invention.

FIGS. 2A-2C illustrate three different scenarios in which communication sessions, which may be used for illicit communications, are either prevented, reported, or monitored, according to select embodiments of the present invention.

FIG. 3 is a communication flow diagram illustrating the process for detecting establishment of a communication session, which may be used to support illicit communications, according to one embodiment of the present invention.

FIG. 4 is a block representation of an inspection system according to one embodiment of the present invention.

FIG. 5 is a block representation of a proxy according to one embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the invention and illustrate the best mode of practicing the invention. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the invention and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.

The present invention inspects packets to identify session initiation messages associated with select applications. Once a session initiation message from a select application is identified, the intended communication session may be identified, monitored, prevented, or otherwise processed in a predefined manner. These select applications may be illicit applications from which communication sessions are actually or potentially unlawful or otherwise improper. The illicit communication sessions that the present invention seeks to control may be used for voice communications as well as for transferring data and facilitating application collaboration, such as is used in video conferencing or file sharing. Those skilled in the art will recognize other applications for using communication sessions. The present invention can be applied to all types of networks carrying packet traffic. These networks include pure packet, wireless, wireline, and enterprise networks.

A session initiation message may be any message used to initiate a communication session with another communication client. Notably, any number of messages may be needed to initiate a unidirectional or bidirectional communication session, and as such, a session initiation message need not be the first or initial message in a series of messages used to initiate a communication session. Further, the session initiation messages may be relayed and proxied through one or more devices over one or more packet networks. As such, the session initiation messages need not be received directly from the originating communication client for inspection. Packet inspections may take place at any location; however, inspecting packets at various aggregation points throughout the packet networks is most efficient. The aggregation points are those at which most, if not all, traffic is routed when being transferred from one packet network or location to another. The aggregation points may include various types of routers, which act as gateways between local or regional packet networks. For example, the aggregation points may be enterprise gateways, which connect an enterprise's local area network to a regional or national packet network forming part of the Internet. The aggregation points may also be national or international gateways that connect packet networks of different countries, continents, or other defined regions. The aggregation points may also act as firewalls or other filtering entities, as well as systems providing digital subscriber line, cable, and enterprise connectivity. Although implementation of the present invention in an aggregation point is beneficial, the inspection and processing of packets and communication sessions according to the present invention may take place in any type of system through which packet-based traffic, including session control messages as well as session traffic, are routed.

Turning now to FIG. 1, an exemplary communication environment 10 is illustrated and includes multiple packet networks 12 for facilitating packet-based communications between communication clients 14. These communication clients 14 may take many forms, such as personal computers (PCs) 14A and 14C, as well as voice-over-packet (VoP) telephony terminals 14B and 14D. Those skilled in the art will recognize other embodiments in which communication clients 14 may be implemented.

Gateway routers 16 are employed as aggregation points for facilitating communications between the packet networks 12. In general, all or most of the packet traffic traversing two or more packet networks 12 will be routed through a gateway router 16. In one embodiment of the present invention, the inspection function and associated processing may be implemented in the gateway router 16. These gateway routers 16 may be placed at enterprise, national, or international borders or at any other point at which packet networks 12 are connected.

Within each of the packet networks 12, many internal routers 18 will be employed to facilitate the routing of packet traffic throughout a given packet network 12. In another embodiment of the present invention, the inspection function and associated processing may be employed in one of the internal routers 18. The gateway routers 16 or the internal routers 18 may be configured to implement a firewall or other traffic filtering function that may be used to employ the inspection function of the present invention. Those skilled in the art will recognize that the inspection function and associated processing may be provided in virtually any type of entity within or between the packet networks 12 through which packet traffic will travel to set up and provide communication sessions.

In operation, the present invention will employ an inspection function to monitor packets being routed through the packet networks 12. Each packet will be inspected to identify packets carrying session initiation messages associated with select applications. Once a session initiation message has been identified, any number of actions may be taken alone or in combination. In a more basic embodiment, the session initiation messages are simply dropped, such that the intended communication session is prevented. In another embodiment, the identification of a session initiation message associated with a select application may dictate sending a notification to a reporting service 20 to record information pertaining to the attempt to establish the communication session from the select application. When session initiation messages associated with select applications are reported, the packet carrying the session initiation message may be dropped to prevent establishment of the communication session, or the session initiation message may be forwarded in traditional fashion to allow the communication session to be established. In yet another embodiment, the inspection function may take the necessary steps to have the communication session routed through a monitoring function, which may be provided by a proxy 22. As such, the communication session may be established through the proxy 22, such that the content of the communication session may be monitored with or without the knowledge of the communication clients 14 participating in the communication session.

Also illustrated in FIG. 1 is an illicit service server 24, which may support potentially illicit communication sessions by cooperating with the communication clients 14, such that the illicit communications are facilitated by or established through the illicit service server 24. Accordingly, the session initiation messages associated with select applications may be initiated directly or indirectly from the communication client 14, the illicit service server 24, or other associated communication entity.

FIGS. 2A-2C provide functional illustrations of how packets are inspected to identify session initiation messages and the resulting processing once a session initiation message is identified. With reference to FIG. 2A, an inspection system 26 is used to inspect all packets routed therethrough. When communication client 14A initiates a communication session to communication client 14C using a select application, a session initiation message (SIM), such as a Session Initiation Protocol (SIP) Invite message, is sent toward communication client 14C. Assuming the SIM is embodied in a packet routed through the inspection system 26, the inspection system 26 will identify the packet as being one representing a SIM from a select application. In this embodiment, the inspection system 26 will simply drop the packet representing the SIM to prevent establishment of the desired communication session between communication clients 14A and 14C.

Turning now to FIG. 2B, when the inspection system 26 identifies a packet representing a SIM, a reporting message is sent to the reporting service 20 to provide the details associated with the SIM, as well as forwarding the SIM toward communication client 14C such that the communication session may be established and a session flow may take place between communication clients 14A and 14C. Accordingly, the inspection system 26 may monitor each of the packets within the session flow, as well as the session control messages used to establish the communication session. Those skilled in the art will recognize that additional control messages will be used to establish the communication sessions in traditional fashion. Certain or all of these control messages may represent a session initiation message.

With reference to FIG. 2C, the inspection system 26 is configured to identify a SIM, send a corresponding reporting message to the reporting service 20, and redirect the requested communication session to be established through a proxy 22, which will act as a monitoring device for the session initiation messages, session traffic, or a combination thereof. As such, the SIM may be forwarded to the proxy 22, which will forward the SIM to the intended communication client 14C, wherein a communication session is established through the proxy 22, inspection system 26, or both, such that the traffic creating the session flow in the communication session may be monitored. Those skilled in the art will recognize that the monitoring of the session traffic may take place at the proxy 22, the inspection system 26, or other monitoring entity through which the communication session is established. The proxy 22 may also act as a proxy in a traditional sense for handling session control messages. As such, the session control messages may be handled by the proxy 22, which will operate to establish the session between the communication clients 14 through an appropriate monitoring entity, which may be provided by the inspection system 26.

In another embodiment, the criteria used to determine which applications are the select applications for which SIMs should be processed may be updated periodically as the criteria change, new applications are discovered, or old applications should be removed from being considered the select applications. The updating process would be analogous to updates provided on a systematic basis for antivirus applications.

Turning now to FIG. 3, a more detailed communication flow is provided to illustrate exemplary operation of the present invention according to one embodiment. Initially, assume communication client 14A, which is associated with User A, desires to establish a communication session with communication client 14C, which is associated with User B. Further assume that the application used for the communication session is an illicit application, which may be used to port a voice-over-packet communication session in which the voice traffic is encrypted using illegal encryption technology. Initially, User A will interact with communication client 14A to initiate the illicit application (step 100), which may log into or otherwise register with an illicit service server 24, which keeps an updated list of active or available users, which includes User B (step 102). The illicit service server 24 will allow User A to log in or otherwise register, and will send a response back to communication client 14A indicating that the login or registration process is complete (step 104).

Subsequently, communication client 14C will initiate the illicit application in response to instructions from User B (step 106). As such, communication client 14C will send a login or registration message toward the illicit service server 24 (step 108). The login or registration message may be forwarded through the inspection system 26, wherein the associated packet or packets are monitored (step 110) and routed toward the illicit service server 24 (step 112). The illicit service server 24 will log in or otherwise register User B and the associated communication client 14C and send a response back toward communication client 14C (step 114). The response may be monitored by the inspection system 26 (step 116) and routed to communication client 14C (step 118).

At this point, the illicit service server 24 may operate in a fashion similar to a text messaging service by providing information alerting the active users of other active users when a new person becomes active or an active person becomes inactive. As such, the illicit service server 24 may send an update to communication client 14A indicating that User B is available, and may also provide User B's address, which may be the IP address for communication client 14C (step 120). Similarly, the illicit service server 24 may send an update toward communication client 14C (step 122), wherein the update is monitored by the inspection system 26 (step 124) and forwarded to communication client 14C (step 126). At this point, User A is alerted that User B is active and available for communications, and User B is alerted that User A is active and available for communications. The respective communication clients 14A and 14C have the addresses of the respective communication clients 14C and 14A.

Next, assume User A initiates a communication session with User B (step 128). As such, communication client 14A will send a SIM toward communication client 14C (step 130). The SIM is represented by a packet routed through the inspection system 26, which will monitor all of the packets routed therethrough and will detect the SIM from communication 14A as being one from the illicit application, which is one of the select applications for monitoring (step 132). The inspection system 26 may forward the SIM to communication client 14C (step 134), as well as sending a reporting message to the reporting service 20 (step 136). The reporting message may identify the originating and terminating communication clients 14A and 14C, respectively, the application with which the communication session is associated, and any other information deemed appropriate for analyzing.

Communication client 14C will respond to the SIM by sending a session response toward communication client 14A (step 138). The session response will pass through the inspection system 26 where it is monitored (step 140), and is then forwarded to communication client 14A (step 142). At this point, a session is established between communication client 14A and communication client 14C through the inspection system 26, wherein the packets representing the information being transferred between communication clients 14A and 14C for the communication session are monitored (steps 144, 146, and 148). Notably, the SIM will generally include the address of the originating communication client 14A and any port and coding information for the communication session. Similarly, the session response may include the address of the terminating communication client 14C and any relevant port and coding information. As such, each of the communication clients 14 will have the necessary information to determine where and how to send packets to facilitate the communication session.

Turning now to FIG. 4, a block representation of an inspection system 26 is illustrated. The inspection system 26 may take any form, including one of the border routers 16 or internal routers 18, as well as any other entity that may implement a firewall, filter, or other packet processing or routing function. The inspection system 26 will generally include a control system 28 having memory 30 for storing the requisite software 32 and data 34 to facilitate the operation as described above. The control system 28 will also be associated with one or more packet communication interfaces 36 to facilitate any requisite routing or communication functions.

With reference to FIG. 5, a block representation of a proxy 22 is illustrated as including a control system 38 with memory 40. The memory 40 will include the requisite software 42 and data 44 to facilitate operation as described above. The control system 38 may also be associated with one or more packet communication interfaces 46 to facilitate the proxy functions, monitoring functions, communication functions, or any combination thereof as desired in the select configuration.

Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present invention. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow. 

What is claimed is:
 1. A method of processing packets, comprising: identifying packets that are associated with a particular application; among the packets identified as being associated with the particular application, identifying packets representing session initiation messages for a communication session to be conducted within the particular application; and processing the packets identified as representing session initiation messages according to defined criteria.
 2. The method of claim 1, wherein the packets identified as representing session initiation messages are adapted to port a communication session over the particular application.
 3. The method of claim 2, wherein porting a communication session over the particular application is deemed to be illicit.
 4. The method of claim 1, wherein the communication session is to be encrypted using an illegal encryption technology.
 5. The method of claim 1, wherein the particular application is deemed to be an illicit application.
 6. The method of claim 1, wherein processing the packets identified as representing session initiation messages according to defined criteria comprises dropping the packets identified as representing session initiation messages.
 7. The method of claim 1, wherein processing the packets identified as representing session initiation messages according to defined criteria comprises routing the packets identified as representing session initiation messages toward their destinations.
 8. The method of claim 7 further comprising sending reporting messages to a reporting service when the packets representing session initiation messages are identified among the packets identified as being associated with the particular application.
 9. The method of claim 1 further comprising sending reporting messages to a reporting service when the packets representing session initiation messages are identified among the packets identified as being associated with the particular application.
 10. The method of claim 1, wherein processing the packets identified as representing session initiation messages according to defined criteria comprises routing the packets identified as representing session initiation messages to a proxy for further processing.
 11. The method of claim 10, wherein the proxy routes the packets identified as representing session initiation messages toward their destinations in a manner that enables monitoring of traffic in resultant communication sessions.
 12. The method of claim 1, further comprising monitoring at least one communication session initiated by the packets identified as representing session initiation messages.
 13. The method of claim 1, wherein the packets identified as representing session initiation messages are intended to initiate encrypted packet-based communication sessions between at least two communication clients over a packet network through which the packets are routed.
 14. The method of claim 1, wherein the packets identified as representing session initiation messages represent session initiation protocol (SIP) messages.
 15. The method of claim 14, wherein the session initiation protocol messages are SIP invite messages.
 16. The method of claim 15, wherein the steps of identifying the packets representing session initiation messages and processing the packets identified as representing session initiation messages according to defined criteria are performed in a border gateway router.
 17. The method of claim 16, wherein the border gateway router is one of a national gateway router, an international gateway router, and an enterprise gateway router.
 18. The method of claim 15, wherein identifying the packets representing session initiation messages and processing the packets identified as representing session initiation messages according to defined criteria are performed in a firewall.
 19. The method of claim 1 further comprising modifying the defined criteria.
 20. The method of claim 19, wherein modifying the defined criteria comprises periodically modifying the defined criteria.
 21. The method of claim 19, wherein modifying the defined criteria comprises modifying the defined criteria based on received information.
 22. The method of claim 21, wherein modifying the defined criteria based on the received information comprises modifying the defined criteria based on periodically received information.
 23. The method of claim 1, wherein the packets identified as representing session initiation messages represent session initiation messages configured to initiate communication sessions for voice communications.
 24. The method of claim 1, wherein the packets identified as representing session initiation messages represent session initiation messages configured to initiate communication sessions for at least one of the group consisting of audio, video, and data communications.
 25. The method of claim 1 further comprising determining a particular application to be monitored before identifying the packets that are associated with the particular application. 